This invention relates to resource scheduling in general and, in particular, to the efficient allocation of personnel to time-related tasks.
Resource scheduling is concerned with the optimum allocation of resources to a task in order that the task may be performed at minimum cost. Various techniques are known for aiding in this task, such as PERT charts which allow a critical path to be identified so that adequate resources can be allocated thereto in order that it can be accomplished in sufficient time to prevent adverse performance of subsequent tasks. In the, specific case of human resource scheduling, personnel are allocated to one or more tasks during defined time intervals in accordance with pre-defined rules. At their most basic, the rules allow personnel to be allocated according to their competence to perform the desired task. For example, in a factory environment a machinist must first machine a workpiece before it is assembled by a fitter. On the other hand, it is undesirable that the fitter be idle whilst the machinist is busy and, in general, this requirement is met by staggering tasks so that time-related tasks are performed in parallel as far as possible. Thus, in the relatively simple example of a factory, a fitter will assemble an already-machined workpiece whilst a subsequent workpiece is being machined. By such means, both the machinist and the fitter can work simultaneously.
There are other examples of human resource allocation where more diverse factors come into play. For example, flight scheduling allocates crews to aircraft so that a crew can complete its flight mission and return to base for another mission. Each crew normally comprises a pilot and sub-pilot together with appropriate ancillary staff such as stewards, stewardesses, and so on. It is often neither practical nor permissible to complete a round trip with the same crew, since safety considerations require that the crew rest for a specified time period after each work shift of specified duration. The aircraft itself is not subject to the same considerations and during the crew""s rest period, the aircraft may be staffed by a different crews so as to complete the next leg of the journey.
Thus, in such cases, different crews must be allocated for each flight according to pre-determined time schedules, crew availability, flight duration, air-carrier regulations determining, amongst other factors, maximum permitted work shifts and minimum permitted rest periods. In order to optimize crew allocation so as to minimize the overall cost to the airline (or carrier), yet other factors may also be significant. For example, after completion of a flight mission to a particular landing point, the crew""s next flight mission may not necessarily commence from that landing point. In this case, the crew must first be transported to the point of departure of their next flight mission. Whilst they are being transported in this manners the crew is idle and takes up space on the aircraft which might otherwise be used by fare-paying customers. Furthermore, it is not always possible to transport the crew to their new departure point using the crew""s own carrier. For example, the carrier may not run a flight between the previous landing point and the new point of departure; or the only available flight run by the carrier may be full or may take off at an unsuitable time. For example, if it takes off too early, the crew may not have had sufficient rest. This is inadmissible according to flight regulations. On the other hand, if it takes off too late, the crew may be idle for too long. This is admissible but costly.
In either case, the crew must be transported using another carrier and this, of course, is subject to additional costs, It is therefore usually preferable wherever possible to transport crews from the landing point of one task to the take off point of a subsequent task using the crew""s own carrier.
Furthermore, crews must be allocated to flights in pairs since for every outward-bound journey there must always be a return journey to base. This gives rise to what is known as xe2x80x9ccrew-pairingxe2x80x9d and essentially dictates that the scheduler assigns each crew to both legs of the journey so as form a composite paired task. This imposes yet further limitations since it is obviously not possible to replace a crew on one leg of the journey only.
It is thus apparent that allocating human resources to such time-dependent tasks, which are subject to conflicting requirements, is usually an iterative procedure using trial and error. Often, flight schedules are plotted on a Gantt Chart, which allows time-related data to be presented so that the inter-relationship between different events may be, easily discerned. Not infrequently, last minute alterations are dictated by sudden unavailability of crew members owing, for example, to illness, jury service, army call up and so on. This may, be further complicated by a crew member suddenly becoming unfit for service after completing an outward journey but before returning to base. In either case, the affected crew member must be replaced and this requires running the whole time-consuming procedure again from scratch.
Use of a Gantt Chart for displaying the time-dependent tasks permits the tasks to be assimilated quickly in proper time-relationship. It does not, however, simplify the editing process nor in itself does it allow xe2x80x9ccrew pairingsxe2x80x9d to be easily identified and thus does not prevent inadmissible replacement of a crew member during only a single leg of the round trip.
It is an object of the invention to provide a method for allowing effective display of resource schedules wherein the above-mentioned problems are significantly reduced or eliminated.
According to a broad aspect of the invention, there is provided for use with a computer having a processor and display device coupled thereto, a method for displaying a resource schedule containing a plurality of objects in an N-level multiple hierarchy all of which objects are subject to a common dependency, comprising the steps of:
(a) allocating different non-overlapping areas of the display device for each level of the resource schedules,
(b) graphically displaying each level of the resource schedule in the respective area of the display device on a common axis representative of the common dependency,
(c) providing editing tools for allowing:
(i) objects of the same level to be interchanged,
(ii) objects of a given level i (where i less than N) to be inserted into an object of a higher level (i+1), and (iii) objects of a given level i (where i greater than 1) to be disassembled into an object of a lower level (ixe2x88x921)
According to another aspect of the invention there is provided a system having a processor coupled to a memory and a display device for displaying a resource schedule containing a plurality of objects in an N-level multiple hierarchy all of which objects are subject to a common dependency, said processor comprising:
(a) means for allocating different non-overlapping areas of the display device for each level of the resource schedules,
(b) means for graphically displaying each level of the resource schedule in the respective area of the display device on a common axis representative of the common dependency, and
(c) editing tools for allowing:
(i) objects of the same level to be interchanged,
(ii) objects of a given level i (where i less than N) to be inserted into an object of a higher level (i+1), and
(iii) objects of a given level i (where i greater than 1) to be disassembled into an object of a lower level (ixe2x88x921).
Optionally, the different levels of the resource schedule are displayed is mutually synchronized relationship with respect to the common axis. In the specific case where the invention is employed for editing a Gantt Chart representative of a Crew-Pairing having three levels: Crew-Pairing, Duties and Flights, N equals 3 and three windows are provided each corresponding to one of the levels.
Such a Gantt Chart Editor finds specific application in the context of a Complete Pairing System which includes inter alia (i) the ability to load data from a database, (ii) to create a new pairings scenario, (iii) to generate an optimized solution, (iv) to fine-tune the optimized solution and (v) to present a complete solution encompassing all fleets. The invention described and claimed herein relates only to the provision of an object-oriented editor for fine-tuning the optimized solution and therefore full details of the complete system are not given. Further general information may be derived from the IBM xe2x80x9cECO-2000 User Guidexe2x80x9d, relevant pages of which are contained in an Appendix attached hereto.